home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-04-01 | 2.9 KB | 67 lines | [TEXT/GEOL] |
- Item 5931212 28-Feb-91 05:39PST
-
- From: POWERUP.ENG Power Up Software,PRT
-
- To: MACAPP.TECH$ MacApp Technical
-
- ------------------------------------------------------------------------------
-
- Sub: Performance Testing
-
- Attn: MacApp.Tech$
- SentBy: James Plamondon
- Subject: Performance Testing
- Gentlepersons,
-
- I think it was Knuth who said that "even the most elegant design must someday
- face reality" (or words to that effect). Reality is hitting my program (which
- has no claim to elegance) right between the eyes — its performance is
- exceedingly disappointing.
-
- To address this problem, I have turned to the standard MPW performance
- techniques: the routines described in {PInterfaces}Perf.p and the
- PerformReport tool.
-
- The result has been rather disappointing. As always with Mac programs, my
- application is spending most of its time in obscure ROM routines that my
- application is not calling directly. For example, here's where my application
- is spending about 50% of its time when reading in a file:
-
- Num Segment : Procedure Def Prob Poss Prob%
- 127 ROMIIfx : DOSCSIMSGOUT 1374 0 0 20.5%
- 127 ROMIIfx : EMT1010 658 0 0 9.8%
- 127 ROMIIfx : HEAPGUTS 409 0 0 6.1%
- 127 ROMIIfx : MMHPROLOGUE 280 0 0 4.1%
- 127 ROMIIfx : A32BKCOMPACTS 270 0 0 4.0%
- 127 ROMIIfx : DELAY 133 0 0 1.9%
- 127 ROMIIfx : FASTREAD 105 0 0 1.5%
- 127 ROMIIfx : MMNOERREPILOGUE 102 0 0 1.5%
- 127 ROMIIfx : FINDDITEM 81 0 0 1.2%
-
- Now, from the fact that 20% of the time is being spent in DOSCSIMSGOUT, which
- must have something to do with reading in the file from the hard drive, I know
- that it's time to write that file-buffering code I've been putting off, so
- that I don't hit the disk so often.
-
- But what's all the rest of this stuff? EMT1010 — is that a Emergency Medical
- Technician Manager call? Is it being called because the HEAPGUTS are spilling
- out? Is it trying to A32BKCOMPACTS them back into the heap, after a DELAY to
- FINDDITEM that cut him open? I'm afraid my paltry intellect can't derive much
- information from a FASTREAD of this data.
-
- This seems like "dark ages" programming. I would think that it would be
- possible for a tool to generate a call tree, in which the amount of time spent
- in each node was the sum of the time spent in itself and each of its children.
- Is this NP-Complete or something? Would it require a Cray to analyse "hello,
- world?" Does such a tool exist on the Mac (or anywhere else)?
-
- If not, does anyone have any suggestions as to how I should go about analysing
- the cryptic results of PerformReport?
-
- Lazy as always, I remain
-
- Yours,
-
- James Plamondon
-
-